Sync with react.dev @ 7c36f7ac - #970
Conversation
… (#8364) * fix(docs): Change 'a Action' to 'an Action' in useOptimistic.md This fixes a grammar error where 'a Action' should be 'an Action' since 'Action' starts with a vowel sound. Related to #6713 - Capitalize React concepts in docs * docs: Update Vite React Compiler setup for @vitejs/[email protected] - Add instructions for using reactCompilerPreset with @rolldown/plugin-babel - Document that inline babel option was removed in version 6.0.0 - Keep backward compatibility note for older versions - Remove outdated vite-plugin-babel reference Fixes #8353
* Clean up and expand fragment ref docs * Add cached intersection observer usage example * Expand focus example to show search * Small clean ups * Add FragmentInstance operations reference list * Add reference to scrollIntoView operation * Migrate examples to sandpack
Bumps button contrast to match the treatment on reactnative.dev. Dark mode: - primary text: dark:text-secondary (#404756) -> dark:text-gray-90 (#23272F) - secondary border: #404756 -> #4E5769 (matches RN's rgb(78,86,104)) Light mode: - secondary border: #D9DBE3 -> #BCC1CD (matches RN's rgb(188,193,205)) gray-90 keeps a subtle cyan tint on the teal button, per review feedback (gray-95 was too flat).
* Claude use docs attempt * Human updates * Address review feedback * Address additional review feedback * Split Pitfall and DeepDive, clarify recreation examples * Reorder DeepDive: prose before correct example * Add Reading a Promise from context section * Address review feedback and align DeepDive with RSC docs style * Drop inaccurate claim about blocking page rendering * Address feedback * Address feedback: clarify use() accepts Promise or context * Apply suggestion from @rickhanlonii * Update src/content/reference/react/use.md Co-authored-by: Ricky <[email protected]> * [use] Add Pitfall on refetching Promises from context in RSCs --------- Co-authored-by: Aurora Scharff <[email protected]> Co-authored-by: Aurora Scharff <[email protected]>
* fix: update use.md pitfall to mention that bypassing use can corrupt React's internal state tracking * Apply suggestion from @rickhanlonii * Apply suggestion from @rickhanlonii * Apply suggestion from @rickhanlonii * Apply suggestion from @rickhanlonii * Update use.md with caution on bypassing `use` Add warning about bypassing `use` and its effects on React Suspense. * Apply suggestion from @rickhanlonii * Update guidance on using the `use` hook with Promises Clarify usage of `use` hook regarding Promise handling. * Clarify usage of `use` with Promises --------- Co-authored-by: Ricky <[email protected]>
* Fix broken internal link in Component reference (anchor) * chore: trigger CLA check
Co-authored-by: Daksh Dhami <[email protected]>
Co-authored-by: Daksh Dhami <[email protected]> Co-authored-by: Sebastian Sebbie Silbermann <[email protected]> Co-authored-by: Claude Opus 4.7 <[email protected]> Co-authored-by: Sebastian "Sebbie" Silbermann <[email protected]>
…browser extension (#7726) * Rewrite React Developer Tools section in tutorial-tic-tac-toe CodeSandbox doesn't seem to support any platform React Developer Tools as is seen in tutorial. This section is rewritten to use the browser extension directly on the preview. * Fixed the preview URL to the codesandbox instance just before this section
* Clarify use vs await * Refine based on feedback * Address review comments
Co-authored-by: Tuna <[email protected]>
…505) * [Suspense] Add 'What activates a Suspense boundary' section * [Suspense] Clarify image activation wording (review feedback) * Define "suspense-enabled-framework" * Update outdated framework-less data fetching note to reference use() * fix: clarify Suspense boundary activation and fallback behavior * Add code example * update styling * Cleanup caveat * add link to blogpost * Replace notes with link to suspense docs * Tweak caveat * Update caveat to clarify streaming behavior during server rendering * Address feedback * address feedback * Clarify documentation on Suspense-enabled frameworks * Update links and wording * Improve example * Clarify heading for Suspense-enabled frameworks section * Restructure page * Update to be docs compliant and clarify images * Address review feedback * Add more suspense examples * Add more examples * Clarify image loading behavior during <ViewTransition> updates in Suspense documentation * Enhance Suspense documentation with additional details on font and image loading during <ViewTransition> updates * Update * Enhance Suspense documentation with examples of stylesheet loading behavior and vanilla DOM comparison * agent review
* Polish Suspense activation examples - Move Canary badges into section headings and render them icon-only in the table of contents - Replace the image demo's text fallback with a profile skeleton - Add a combined example coordinating data, a stylesheet, a font, and an image behind one boundary, with a plain DOM comparison - Match skeleton dimensions to the revealed content * Make the combined example's data delay consistent between runs
* Tune Suspense demo heights, data delay, and DOM comparison wording * Make section openers stand alone and restore demo timing * Shrink image demo portraits so both cards fit without layout shift * Name the resources in the combined section opener * State the ViewTransition condition in the combined section opener * Align combined section opener with sibling sections * Frame font and image waiting as Suspense behavior gated on ViewTransition * Match the combined section opener to its sibling sections * Document the experimental defer prop * Reduce the combined example's data delay * tweak
* Add dynamic OG images for docs pages * Match OG card design to existing static images * Generate OG images statically at build time * Clean up orphaned lockfile entry * Show section label on OG cards and guard pages without a card * Center title and enlarge section label on OG cards
…Leadership Council, and refresh membership. Co-authored-by: Sebastian "Sebbie" Silbermann <[email protected]>
* Resize long og image text * address feedback
Please accept my changes for React Alicante and CityJS Athens
* Document browser-only rendering Add the Canary browser API reference, including optional lazy reasons, server bailout reporting, fatal and abort behavior, navigation entries, and onBrowserBailout options for every streaming, resume, and prerender API that supports it. * Polish browser API docs and add live example * Document browser with use and Suspense --------- Co-authored-by: Aurora Scharff <[email protected]>
* Clarify browser-only rendering guidance * Polish browser-only guidance wording * Use Canary markers in browser guidance * Present browser as a use resource * Polish browser usage labels * Address browser guidance review * Clarify browser return value is opaque * Restore alternative wording * Restore hydration alternative wording * Focus use introduction on resources * Note stable browser cleanup
* Pin matching React Canary versions in Sandpack demos * Use cached Canary build in Sandpack demos
* Improve browser-only rendering example * Clarify browser-only example action * Show browser-only fallback on reload
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
There was a problem hiding this comment.
🟡 Changes recommended
It introduces untranslated English content into Japanese docs and contains at least one clear content classification error (a 2027 conference listed under “Past Conferences”).
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Upstream sync from react.dev @ 7c36f7a, primarily updating documentation/content and site configuration to match the react/react org changes and introducing build-time generation of per-page Open Graph images.
Changes:
- Update many docs links/references from
facebook/react→react/react, plus assorted content updates across Learn/Reference/Blog/Community pages. - Add Canary-only React DOM
browser()documentation and navigation/redirect wiring for it. - Generate per-page OG images at build time (
scripts/generateOgImages.mjs) and update SEO image selection logic to use generated cards when available.
File summaries
| File | Description |
|---|---|
| yarn.lock | Lockfile updates to support new build-time OG image deps (satori/resvg/opentype, etc.). |
| vercel.json | Redirect updates (react/react links + new warning redirect). |
| tailwind.config.js | Update secondary button stroke shadow colors. |
| src/siteConfig.js | Update repository URL to https://github.com/react/react. |
| src/sidebarReference.json | Add canary nav entry for React DOM browser. |
| src/pages/errors/[errorCode].tsx | Fetch error codes from react/react raw URL. |
| src/content/warnings/invalid-hook-call-warning.md | Update issue links to react/react. |
| src/content/warnings/invalid-aria-prop.md | Update bug report link to react/react. |
| src/content/versions.md | Refresh release links to react/react, update content + switch YouTube embed to YouTubeIframe. |
| src/content/reference/rsc/use-server.md | Update example line highlighting + transition wrapping pattern. |
| src/content/reference/rsc/server-functions.md | Update example highlighting + transition wrapping pattern. |
| src/content/reference/react/ViewTransition.md | Pin canary versions in Sandpack package.json blocks; add Suspense links. |
| src/content/reference/react/useTransition.md | Add scroll container styling in Sandpack CSS snippets. |
| src/content/reference/react/useLayoutEffect.md | Update parameter description + add Canary guidance referencing use(browser()). |
| src/content/reference/react/useDeferredValue.md | Update Note copy + add scroll container styling in CSS snippets. |
| src/content/reference/react/useContext.md | Remove unused useContext imports in examples. |
| src/content/reference/react/Component.md | Fix broken anchor fragment in link (unsafe_componentwillreceiveprops). |
| src/content/reference/react/apis.md | Add new API bullets + expand use resource list (Promise/Context/browser()). |
| src/content/reference/react/Activity.md | Condense Note copy about Suspense-enabled data sources. |
| src/content/reference/react-dom/static/resumeAndPrerenderToNodeStream.md | Document new canary onBrowserBailout option. |
| src/content/reference/react-dom/static/resumeAndPrerender.md | Document new canary onBrowserBailout option. |
| src/content/reference/react-dom/static/prerenderToNodeStream.md | Add onBrowserBailout option + update link to react/react source. |
| src/content/reference/react-dom/static/prerender.md | Add onBrowserBailout option + update link to react/react source. |
| src/content/reference/react-dom/server/resumeToPipeableStream.md | Document new canary onBrowserBailout option. |
| src/content/reference/react-dom/server/resume.md | Document onBrowserBailout + update stream flushing example. |
| src/content/reference/react-dom/server/renderToReadableStream.md | Add onBrowserBailout + update link to react/react source. |
| src/content/reference/react-dom/server/renderToPipeableStream.md | Add onBrowserBailout + update link to react/react source. |
| src/content/reference/react-dom/index.md | Add Server Rendering APIs section referencing canary browser. |
| src/content/reference/react-dom/components/form.md | Expand usage: add onSubmit guidance + restructure sections. |
| src/content/reference/react-dom/components/common.md | Update link to react/react CSSProperty source. |
| src/content/reference/react-dom/client/hydrateRoot.md | Add canary guidance for browser-only rendering (use(browser())). |
| src/content/reference/react-dom/browser.md | New canary reference page for browser() API. |
| src/content/reference/eslint-plugin-react-hooks/lints/incompatible-library.md | Update links/issues to react/react. |
| src/content/learn/tutorial-tic-tac-toe.md | Update DevTools section content and screenshots/instructions. |
| src/content/learn/react-compiler/installation.md | Update Vite guidance (rolldown babel plugin + preset) + update links. |
| src/content/learn/react-compiler/debugging.md | Update issue/bug-report links to react/react. |
| src/content/community/versioning-policy.md | Update issue + commit-history links to react/react. |
| src/content/community/team.md | Update team structure + add working group badges via group prop. |
| src/content/community/index.md | Update Code of Conduct link to react/react. |
| src/content/community/conferences.md | Reorganize upcoming/past lists and add new conference entries. |
| src/content/community/acknowledgements.md | Update contributors link to react/react. |
| src/content/blog/index.md | Update CHANGELOG/Releases links to react/react. |
| src/content/blog/2025/12/11/denial-of-service-and-source-code-exposure-in-react-server-components.md | Update react-native issue link to react/react-native. |
| src/content/blog/2025/12/03/critical-security-vulnerability-in-react-server-components.md | Update release + react-native issue links to react/react*. |
| src/content/blog/2025/10/07/react-compiler-1.md | Update README link to react/react. |
| src/content/blog/2025/10/01/react-19-2.md | Update changelog + PR links to react/react. |
| src/content/blog/2025/04/23/react-labs-view-transitions-activity-and-more.md | Pin canary versions in Sandpack blocks + update PR links to react/react. |
| src/content/blog/2024/12/05/react-19.md | Update PR link to react/react. |
| src/content/blog/2024/10/21/react-compiler-beta-release.md | Update react repo links and contributor footnotes to react/react. |
| src/content/blog/2024/05/22/react-conf-2024-recap.md | Update PR link to react/react. |
| src/content/blog/2024/04/25/react-19-upgrade-guide.md | Update changelog/issue/PR links to react/react. |
| src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md | Update PR link to react/react. |
| src/content/blog/2022/03/29/react-v18.md | Update many PR links to react/react. |
| src/content/blog/2022/03/08/react-18-upgrade-guide.md | Update issue/changelog links to react/react. |
| src/content/blog/2021/06/08/the-plan-for-react-18.md | Update issue tracker link to react/react. |
| src/components/MDX/TocContext.tsx | Add IsInTocContext for compact badge rendering in TOCs. |
| src/components/MDX/TeamMember.tsx | Make children optional; add group prop rendering as badges. |
| src/components/MDX/Sandpack/DownloadButton.tsx | Update referenced issue URL to react/react. |
| src/components/MDX/MDXComponents.tsx | Render Canary/Experimental badges compactly in TOC contexts; provide TOC context provider. |
| src/components/Layout/TopNav/TopNav.tsx | Update GitHub releases link to react/react. |
| src/components/Layout/Toc.tsx | Wrap TOC items in IsInTocContext.Provider. |
| src/components/Layout/Page.tsx | Use generated per-page OG images when available; fallback to section OG image. |
| src/components/Layout/Footer.tsx | Update Code of Conduct + repo links to react/react. |
| src/components/ButtonLink.tsx | Adjust dark-mode primary button text color class. |
| scripts/generateOgImages.mjs | New build-time script to generate per-page OG cards into public/images/og. |
| scripts/deadLinkChecker.js | Fetch error codes from react/react raw URL. |
| package.json | Add OG generation step to build; add dependencies for OG rendering. |
| .gitignore | Ignore generated public/images/og/ output. |
| .github/workflows/label_core_team_prs.yml | Switch reusable workflow reference to react/react. |
| .github/workflows/discord_notify.yml | Switch reusable workflow reference to react/react. |
| .github/ISSUE_TEMPLATE/config.yml | Update React issues link to react/react. |
| .claude/skills/react-expert/SKILL.md | Update references/commands from facebook/react → react/react. |
| .claude/skills/docs-writer-blog/SKILL.md | Update template examples from facebook/react → react/react. |
Review details
- Files reviewed: 73/103 changed files
- Comments generated: 3
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Size changesDetails📦 Next.js Bundle Analysis for react-devThis analysis was generated by the Next.js Bundle Analysis action. 🤖
|
| Page | Size (compressed) |
|---|---|
global |
115.18 KB (🟡 +11 B) |
Details
The global bundle is the javascript bundle that loads alongside every page. It is in its own category because its impact is much higher - an increase to its size means that every page on your website loads slower, and a decrease means every page loads faster.
Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis
If you want further insight into what is behind the changes, give @next/bundle-analyzer a try!
Five Pages Changed Size
The following pages changed size from the code in this PR compared to its base branch:
| Page | Size (compressed) | First Load |
|---|---|---|
/404 |
130.28 KB (🟡 +551 B) |
245.46 KB |
/500 |
130.29 KB (🟡 +551 B) |
245.47 KB |
/[[...markdownPath]] |
133.08 KB (🟡 +565 B) |
248.26 KB |
/errors |
130.53 KB (🟡 +551 B) |
245.71 KB |
/errors/[errorCode] |
130.51 KB (🟡 +551 B) |
245.69 KB |
Details
Only the gzipped size is provided here based on an expert tip.
First Load is the size of the global bundle plus the bundle for the individual page. If a user were to show up to your website and land on a given page, the first load size represents the amount of javascript that user would need to download. If next/link is used, subsequent page loads would only need to download that page's bundle (the number in the "Size" column), since the global bundle has already been downloaded.
Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis
Next to the size is how much the size has increased or decreased compared with the base branch of this PR. If this percentage has increased by 10% or more, there will be a red status indicator applied, indicating that special attention should be given to this.
This PR was automatically generated.
Merge changes from react.dev at 7c36f7a
The following files have conflicts and may need new translations:
Please fix the conflicts by pushing new commits to this pull request, either by editing the files directly on GitHub or by checking out this branch.
DO NOT SQUASH MERGE THIS PULL REQUEST!
Doing so will "erase" the commits from main and cause them to show up as conflicts the next time we merge.